Skip to content
View ericbohner's full-sized avatar
Block or Report

Block or report ericbohner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ericbohner/README.md

Eric Bohner, PhD

I'm an Analytic Philosopher with an interest and training in Data Science. I love diving in to big problems to understand their small parts. I care deeply about public policy, data driven progress, and the correct use of the word "valid."

In my free time, I pretend to be a serious powerlifter and casual gamer (the opposite is likely true).

My best (gym) lifts @ 210 lbs / 95 kg as of July 2023:

  • 💥 Squat: 440 lbs / 200 kg
  • 💥 Bench Press: 285 lbs / 129.25 kg
  • 💥 Deadlift: 495 lbs / 224.5 kg

What I Do

I feel obligated to lean into the cliché about philosophers: I think (deeply?) about things.

That's probably true, but only in the sense that I care about understanding a thing's component parts so that I can construct structured, comprehensible solutions to a problem. But in that sense I don't think I'm very different from any number of other professionals in different fields. I just happen to have formalized training in it. When I'm working on projects in Data Science or developing software, for instance, that's what I'm doing. Instead of writing out my solutions in a structured essay, I just write them in Python, or SQL. I don't think there's any real difference in the structure of my thought process when I'm working on one or the other.

Here's a really simple example:

def fizzbuzz(n):
  for i in range(1, n + 1):
      if i % 15 == 0:
          print("FizzBuzz")
      elif i % 3 == 0:
          print("Fizz")
      elif i % 5 == 0:
          print("Buzz")
      else:
          print(i)

n = 15
fizzbuzz(n)

This can be formalized in first order logic:

∀x (x ≤ n → (F(x) ∧ B(x) → FB(x)) ∧ (F(x) ∧ ¬B(x) → Fizz) ∧ (¬F(x) ∧ B(x) → Buzz) ∧ (¬F(x) ∧ ¬B(x) → x))

My formal training is in the latter, but they run on the same principles. You can see me dip my toes into the former in some of my projects.

Skills

My Skills

A breakdown:

  • Databases: MySQL
  • Programming: Python, R
  • Statistics: Hypothesis Testing, A/B Testing
  • Data Visualization: Matplotlib, Seaborn, Plotly, Tableau, Excel
  • Cloud: AWS, Hadoop, Spark
  • UI: Kivy, KivyMD

Education

Data Science Diploma BrainStation, 2023

PhD, Analytic Philosophy University of Calgary, 2023

MA, Philosophy University of Waterloo, 2017

Popular repositories

  1. fitness_app fitness_app Public

    Fitness App - reads excel fitness programs into a nice UI - Python hobby project

    Python

  2. Capstone Capstone Public

    BrainStation Data Science Capstone project

    Jupyter Notebook

  3. ericbohner ericbohner Public

    Config files for my GitHub profile.

  4. OpenPowerLifting-Analysis OpenPowerLifting-Analysis Public

    An analysis of Open Powerlifting Data from 1966-2023

    Jupyter Notebook